<?php

class Event
{
	/**
	 * Evento generato subito dopo l'inizializzazione del core BXD e prima del parsing
	 * dell'url
	 *
	 * I parametri assumono valore:
	 * $params = array('url' => STRING_URL 'bxd_query')
	 *
	 * @var <String>
	 */
	public static $ON_BEFORE_PARSING_URL		= "onBeforeParsingUrl";

	/**
	 * Evento generato all'inizio della richiesta. Viene chiamata subito dopo il parsing dell'url e quindi l'individuazione
	 * del nome del controller e della action.
	 *
	 * I parametri assumono valore:
	 * $params = array('controller' => NOME_CONTROLLER, 'action' => NOME_ACTION)
	 *
	 * @var <String>
	 */
	public static $ON_START						= "onStart";

	/**
	 * Evento generato alla fine della richiesta. Viene chiamata dopo aver restituito tutta la pagina e averla renderizzata.
	 *
	 * I parametri assumono valore:
	 * $params = array('controller' => NOME_CONTROLLER, 'action' => NOME_ACTION)
	 *
	 * @var <String>
	 */
	public static $ON_CLOSE						= "onClose";

	/**
	 * Evento generato quando viene riconosciuto un controller sconosciuto.
	 *
	 * I parametri assumono valore:
	 * $params = array('controller' => NOME_CONTROLLER, 'action' => NOME_ACTION)
	 *
	 * @var <String>
	 */
	public static $ON_UNKNOWN_CONTROLLER		= "onUnknownController";

	/**
	 * Evento generato quando viene riconosciuta un'azione sconosciuta.
	 *
	 * I parametri assumono valore:
	 * $params = array('controller' => NOME_CONTROLLER, 'action' => NOME_ACTION)
	 *
	 * @var <String>
	 */
	public static $ON_UNKNOWN_ACTION			= "onUnknownAction";

	/**
	 * Evento generato in caso la vista non venga trovata.
	 *
	 * I parametri assumono valore:
	 * $params = array('controller' => NOME_CONTROLLER, 'action' => NOME_ACTION, 'view' => UNK_VIEW)
	 *
	 * @var <String>
	 */
	public static $ON_UNKNOWN_VIEW				= "onUnknownView";

	/**
	 * Evento generato subito prima la chiamata al metodo del controller.
	 *
	 * I parametri assumono valore:
	 * $params = array('controller' => NOME_CONTROLLER, 'action' => NOME_ACTION, 'param' => LISTA_PARAMETRI)
	 *
	 * @var <String>
	 */
	public static $ON_BEFORE_CALL_CONTROLLER_ACTION		= "onBeforeCallControllerAction";

	/**
	 * Evento generato subito dopo aver chiamato il metodo del controller. Questo evento viene
	 * richiamato subito prima il caricamento del layout
	 *
	 * I parametri assumono valore:
	 * $params = array('controller' => NOME_CONTROLLER, 'action' => NOME_ACTION, 'param' => LISTA_PARAMETRI)
	 *
	 * @var <String>
	 */
	public static $ON_AFTER_CALL_CONTROLLER_ACTION		= "onAfterCallControllerAction";

	/**
	 * Evento generato subito prima di caricare il layout.
	 *
	 * I parametri assumono valore:
	 * $params = array('controller' => NOME_CONTROLLER, 'action' => NOME_ACTION, 'param' => LISTA_PARAMETRI, 'layout' => LAYOUT)
	 *
	 * @var <String>
	 */
	public static $ON_BEFORE_LOAD_LAYOUT		= "onBeforeLoadLayout";

	/**
	 * Evento generato subito dopo il caricamento del layout.
	 * 
	 * I parametri assumono valore:
	 * $params = array('controller' => NOME_CONTROLLER, 'action' => NOME_ACTION, 'param' => LISTA_PARAMETRI, 'layout' => LAYOUT)
	 *
	 * @var <String>
	 */
	public static $ON_AFTER_LOAD_LAYOUT			= "onAfterLoadLayout";

	/**
	 * Evento generato subito prima di caricare il contenuto.
	 * 
	 * I parametri assumono valore:
	 * $params = array('controller' => NOME_CONTROLLER, 'action' => NOME_ACTION, 'view' => VIEW)
	 *
	 * @var <String>
	 */
	public static $ON_BEFORE_SHOW_CONTENT			= "onBeforeShowContent";

	/**
	 * Evento generato subito dopo il caricamento del contenuto.
	 * 
	 * I parametri assumono valore:
	 * $params = array('controller' => NOME_CONTROLLER, 'action' => NOME_ACTION, 'view' => VIEW)
	 *
	 * @var <String>
	 */
	public static $ON_AFTER_SHOW_CONTENT			= "onAfterShowContent";

	/**
	 * Evento generato subito prima di chiudere il tag head durante la fase di rendering della pagina.
	 * 
	 * I parametri assumono valore:
	 * $params = array('controller' => NOME_CONTROLLER, 'action' => NOME_ACTION, 'view' => VIEW)
	 *
	 * @var <String>
	 */
	public static $ON_BEFORE_CLOSE_HEAD				= "onBeforeCloseHead";

	/**
	 * Evento generato subito dopo l'apertura del tag head durante la fase di rendering della pagina.
	 * 
	 * I parametri assumono valore:
	 * $params = array('controller' => NOME_CONTROLLER, 'action' => NOME_ACTION, 'view' => VIEW)
	 *
	 * @var <String>
	 */
	public static $ON_AFTER_OPEN_HEAD					= "onAfterHead";

	/**
	 * Evento generato subito prima di chiudere il tag body della pagina durante il rendering della pagina stessa.
	 * 
	 * I parametri assumono valore:
	 * $params = array('controller' => NOME_CONTROLLER, 'action' => NOME_ACTION, 'view' => VIEW)
	 *
	 * @var <String>
	 */
	public static $ON_BEFORE_CLOSE_BODY					= "onBeforeBody";

	/**
	 * Evento generato subito dopo l'apertura del tag body di una pagina durante il rendering della pagina stessa.
	 *
	 * I parametri assumono valore:
	 * $params = array('controller' => NOME_CONTROLLER, 'action' => NOME_ACTION, 'view' => VIEW)
	 *
	 * @var <String>
	 */
	public static $ON_AFTER_OPEN_BODY					= "onAfterBody";

}

?>
